prometheus+grafana 监控使用

第三方组件声明

因依赖于第三方版本,请第三方组件、中间件和本文保持一致,避免由于第三方升级的兼容性导致无法正常使用。

添加依赖

在需要监控的服务中添加 Prometheus 依赖:

<dependency>
  <groupId>io.micrometer</groupId>
  <artifactId>micrometer-registry-prometheus</artifactId>
  <scope>runtime</scope>
</dependency>
重新编译

添加依赖后必须重新编译项目(mvn clean install),否则 Prometheus 端点将返回 404

配置端点暴露

在 Nacos 配置中心修改 application-dev.yml,暴露 Prometheus 端点:

management:
  metrics:
    export:
      prometheus:
        enabled: true
  endpoints:
    enabled-by-default: false
    web:
      exposure:
        include: "*"
  endpoint:
    metrics:
      enabled: true
    prometheus:
      enabled: true
    health:
      show-details: ALWAYS
配置说明
  • metrics.export.prometheus.enabled 启用 Prometheus 指标导出
  • endpoints.web.exposure.include: "*" 暴露所有端点(生产环境建议仅暴露必要端点)
  • health.show-details: ALWAYS 显示详细健康检查信息

部署 Prometheus

Prometheus 是一套优秀的开源监控、报警和时间序列数据库系统,广泛用于 Kubernetes 等容器环境的监控。

配置 Prometheus

创建配置文件 prometheus.yml

scrape_configs:
  - job_name: 'pigx'
    scrape_interval: 15s
    scrape_timeout: 10s
    metrics_path: '/actuator/prometheus'
    static_configs:
      - targets: ['192.16.1.198:9000']
配置说明

请根据实际部署情况修改 targets 中的 IP 地址和端口,确保 Prometheus 能够访问目标服务。

启动 Prometheus

使用 Docker 一键启动 Prometheus:

docker run -d \
  -p 9090:9090 \
  -v /prometheus.yml:/etc/prometheus/prometheus.yml \
  registry.cn-hangzhou.aliyuncs.com/dockerhub_mirror/prometheus:latest \
  --config.file=/etc/prometheus/prometheus.yml

访问 Prometheus

成功启动后,访问 http://宿主机IP:9090/ 即可查看 Prometheus 监控界面。

Prometheus 界面

部署 Grafana

Grafana 是一个开源的度量分析与可视化套件,提供丰富的插件和模板,支持多种数据源(如 Prometheus、InfluxDB 等),广泛用于时序数据监控。

启动 Grafana

使用 Docker 一键启动 Grafana:

docker run -d -p 3090:3000 registry.cn-hangzhou.aliyuncs.com/dockerhub_mirror/grafana:latest
默认账户

Grafana 默认用户名和密码均为 admin,首次登录会要求修改密码。

配置数据源

访问 http://宿主机IP:3090,按以下步骤配置 Prometheus 数据源:

  1. 点击左侧菜单 ConfigurationData Sources
  2. 选择 Add data sourcePrometheus
  3. 填写 Prometheus 地址(如 http://宿主机IP:9090
  4. 点击 Save & Test 验证连接
Grafana 添加数据源 Grafana 数据源配置

导入监控模板

  1. 点击左侧菜单 +Import
  2. 输入模板 ID:13625
  3. 选择刚才配置的 Prometheus 数据源
  4. 点击 Import 完成导入
Grafana 导入模板
配置完成

监控面板配置完成后,即可查看服务的实时监控数据,包括 CPU、内存、JVM、HTTP 请求等指标。

监控效果

Grafana 监控效果